The present invention relates generally to private branch exchange (PBX) switches, and more particularly, to a method and apparatus for allowing one or more modules to access voice or data channels on the PBX.
Within a corporate environment, telephone service is typically provided by a PBX switch. A PBX switch is an on-site facility, that is typically owned or leased by a company or another entity. The PBX interconnects the telephones within the facility and provides access to the public telephone system. Typically, a PBX environment uses digital telephone terminals and digital switching. Digital PBX switches were designed to handle analog voice traffic, with the switch performing an analog-to-digital conversion (DAC) so that digital switching can be used internally on the entity premises. Increasingly, however, private branch exchanges are carrying data traffic as well as voice traffic. Typically, data calls are generally switched through a modem-pool to the PBX for transmission to the Public Switched Telephone Network (PSTN).
While a PBX allows an entity to efficiently provide access to communication services without necessarily having dedicated telephone lines for each employee, the PBX often limits the types of communications equipment that may be connected to the PBX and the types of services that may be accessed over the PBX. For example, since the telephone terminals connected to the PBX are digital, it is often difficult, if not impossible, to connect an analog device to the PBX. In addition, the communications protocols and hardware specifications of a given PBX are often proprietary to the manufacturer of the PBX. Thus, it is often difficult, if not impossible, to connect equipment manufactured by another manufacturer to the PBX.
Adjunct processors have been proposed for use with private branch exchanges to supplement and enhance the telecommunications services provided by the PBX. For example, a voice mail system is often used with a PBX to provide users with voice messaging capabilities. In order to work together, the PBX and the adjunct processor must be able to communicate with each other. This is typically accomplished by means of a digital control data link, such as the DCIU link, commercially available from ATandT, that interconnects the PBX control processor with the adjunct processor.
In addition, other interfaces have been proposed or suggested that allow other types of equipment to be connected to a PBX. For example, the 8411 terminal, commercially available from Lucent Technologies Inc., of Murray Hill, N.J., provides a tip/ring interface that allows analog devices to be connected to the PBX and an RS-232 (passageway) interface that allows a computer to be connected to the PBX and permits Computer Telephone Integration (CTI). These other interfaces, however, including the 8411 terminal, are typically designed specifically to provide specific features and to operate with the particular communications protocol and/or hardware specification of a given PBX manufacturer, or telephone terminal manufacturer. Current interfaces are unable to support additional features that may be desired by a customer.
As apparent from the above-described deficiencies with conventional techniques for connecting devices to a PBX switch, a need exists for a standard interface to the PBX that allows one or more modules to access voice or data channels on the PBX. A further need exists for an interface to the PBX that utilizes an integrated digital telephone chip. Yet another need exists for an interface to the PBX that permits a module to support additional features for the PBX.
Generally, an application module interface is disclosed that allows one or more modules to access voice or data channels in a PBX environment. In addition, the application module interface provides a control channel that allows a module to obtain and vary the status and configuration of a telephone terminal. The local control channel, C, permits communications with the application module(s) connected to a telephone terminal. In one embodiment, the application module interface utilizes a frame format that includes a start bit (logic xe2x80x9c1xe2x80x9d), three control channel bits, C, and eight stop bits (logic xe2x80x9c0xe2x80x9d).
The control channel field, C, contains three bits, namely, one flag bit and two data bits. In one implementation, a complete control channel data word is split, for example, over five consecutive AMI frames and contains, for example, a total of nine data bits and a parity bit, transmitted least significant data bit first. The parity bit creates xe2x80x9ceven parityxe2x80x9d for the ten total bits. The flag bit is set to one to indicate the start of a new control channel word, or zero otherwise. An xe2x80x9cinvalid dataxe2x80x9d error is detected by a control channel receiver when the flag bit contains a one in two or more out of five consecutive frames.
In an illustrative embodiment, messages may be of two types, namely, an application message or a protocol control message. The protocol control messages are single word messages used for acknowledgement and link activity. The protocol control messages do not require acknowledgement and thus are not retransmitted. According to an aspect of the invention, each application message must be acknowledged by the recipient, and only one application message may be outstanding (awaiting acknowledgement) at a time. If an application message is not acknowledged (ACK or NACK) within a predefined period after the end of message transmission, the application message will be retransmitted. If the retransmission if not acknowledged within a predefined time after the end of the message retransmission, the application module interface is reset. Sequence numbers, S, are used in both application messages and acknowledgements to cover the situation where an application message is properly received, but the acknowledgement is corrupted.
The application messages come in various lengths and convey information, events and requests. The first word of an application message conveys the length of the application message body (i.e., the length of the remainder of the message). To ensure that the control channel is operating, periodic activity messages are sent by both the telephone terminal and modules. The link activity messages are meant to ensure that the AMI control channel is functioning properly. If an activity message is not received for a predefined period, then the application module interface will be reset, in which case the telephone terminal will resume a standard non-module configuration for the voice channels and D-channel.
The control channel receiver errors are parity errors and data errors. A parity error occurs when the ten bits (nine data bits plus one parity bit) make odd parity instead of even parity. A data error occurs when the control channel receiver detects an error in the non-data bit of the control channel field. The non-data bit is zero in all AMI frames except those that contain the start of a new control channel word. A data error occurs if the non-data bit is one in two or more out of five consecutive frames.
According to an aspect of the invention, a number of mechanisms detect the disruption of the AMI connection. A disruption can be detected if a telephone terminal or a module fails to receive an activity message in a 250 millisecond interval, since control channel activity messages are normally sent every 100 milliseconds once the AMI connection is established. In addition, a disruption can also be detected if a telephone terminal or a module fails to receive an acknowledgement (ACK or NACK) for an application message and its retransmission. Finally, a disruption can be detected if excessive errors are received in the control channel data. In one embodiment, excessive is defined to be ten or more errors in a 100 millisecond interval.
Each telephone terminal and module maintains an error counter and increments the counter when the AMI control channel receiver reports a data error or a parity error, when a NACK is received, and when an unrecognized word is received with the ninth bit set (invalid first word of a message). Every 100 milliseconds each telephone terminal and module checks the error counter and then clears the error counter. It is noted that if the AMI connection is lost, the phone must restore its channel configuration to connect its audio section and HDLC controller directly to its line interface unit (LIU).
An RS-232 (passageway) or a Universal Serial Bus module allows a personal computer or other enabled device to interact with and control the operation of a telephone terminal for computer telephony integration (CTI) applications.
Control channel communications between the application module interface and the add-on application module(s) utilize a point to point connection. The telephone terminal sends control channel data to the first module, and receives control channel data generated by the first module. The first module, in turn, in addition to sending and receiving control channel communications with the telephone terminal, also sends control channel data to the second module, and receives control data from the second module.
A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.